package server.ambienteGioco;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.Serializable;

import server.dinosauri.Dinosauro;

/**
 * Rappresenta una zona all'interno della mappa di gioco
 */
public abstract class Zona implements Serializable {
	private static final long serialVersionUID = 3L;
	
	private static int idZona = 0;
	private Dinosauro dinosauro;
	private Mappa mappa;
	
	//GETTERS & SETTERS
	public static int getIdZona() {
		return idZona;
	}
	
	public Dinosauro getDinosauro() {
		return dinosauro;
	}

	public void setDinosauro(Dinosauro dinosauro) {
		this.dinosauro = dinosauro;
	}

	public Mappa getMappa() {
		return mappa;
	}
	
	//ALTRI METODI
	/**
	 * Incrementa unitariamente idZona
	 */
	public void incrementaIdZona() {
		idZona++;
	}
	
	/**
	 * Salva la zona su file
	 */
	public void salvaZona() {
		ObjectOutputStream output = null;
		try {
			output = new ObjectOutputStream(new FileOutputStream("zone/zona"+idZona+".ser"));
		} catch (FileNotFoundException e) {
			
		} catch (IOException e) {
			
		}
		
		try {
			output.writeObject(this);
		} catch (IOException e) {
			
		}
		
		try {
			output.close();
		} catch (IOException e) {
			
		}
	}
	
}
